﻿//==========================================================
//Đã sửa bởi tranninh_86_yb@yahoo.com ngày 21/06/2013
//==========================================================

using System;
using System.Data.SqlClient;
using System.Data;
using System.Windows.Forms;
using prjKQXS_DLL;

namespace prjKQXS_Report
{
    public partial class rptMauTC02 : DevExpress.XtraReports.UI.XtraReport
    {
        Report_DAL report_dal = new Report_DAL();
        int DMCanBoID, HopDongID;
        int cap = 0;

        public rptMauTC02(int cap, int DMCanBoID, int HopDongID=-1, DataTable dtSource = null)
        {
            InitializeComponent();

            this.cap = cap;
            this.DMCanBoID = DMCanBoID;
            this.HopDongID = HopDongID;

            dsReports1 = report_dal.reportDungChung(dsReports1);    //Cái này để nạp dữ liệu cho rptDonVi, để hiện thị đơn vị
            dsReports1.Tables.Remove("rptTLTC");
            dsReports1.Tables.Add(dtSource);
            xuly();

            lblSoTienBangChu.Text = "Số tiền bằng chữ: " + clsCommon.ConvertDecimalToString((decimal)dtSource.Rows[dtSource.Rows.Count - 1]["TienGocMoi"]);
        }

        private void xuly()
        {
            SqlConnection conn = new SqlConnection(BienTc.connString);
            if (conn.State == ConnectionState.Closed)
            {
                conn.Open();
            }
            SqlDataAdapter da;

            da = new SqlDataAdapter("proc_rptMauTC02", conn);
            da.SelectCommand.CommandType = CommandType.StoredProcedure;
            da.SelectCommand.Parameters.AddWithValue("@cap", cap);
            da.SelectCommand.Parameters.AddWithValue("@DMCanBoID", DMCanBoID);
            da.SelectCommand.Parameters.AddWithValue("@HopDongID", HopDongID);//Đối với cap=1 thì đây chỉ là tham số giả
            DataTable dt = new DataTable();
            da.Fill(dt);

            //Thêm vào cột NgayBD và điền giá trị cho nó
            dt.Columns.Add("NgayBD", Type.GetType("System.DateTime"));
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                dt.Rows[i]["NgayBD"] = clsCommon.generateNgayBDTL((DateTime)dt.Rows[i]["NgayNopTC"]);
            }

            if (cap == 1)
            {
                lblTendl.Text = dt.Rows[0]["Ten_DT"].ToString();
                lblHD.Text = dt.Rows[0]["SoHD"].ToString();
            }
            else
            {
                lblTendl.Text = dt.Rows[0]["Ten_DaiLy"].ToString();
                lblHD.Text = dt.Rows[0]["Ma_DT"].ToString();
            }
            lblDc.Text = dt.Rows[0]["Noi_O"].ToString();
            lblPhieuthu.Text = dt.Rows[0]["SoPhieuThu"].ToString();

            DateTime d = (DateTime)dt.Rows[0]["NgayNopTC"];
            lblNgaynoptien.Text = d.ToString("dd/MM/yyyy");
            d = clsCommon.generateNgayBDTL(d);
            lblNgayTL.Text = d.ToString("dd/MM/yyyy");
        }

        int stt = 0;
        private void Detail_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e)
        {
            stt++;
            lblSTT.Text = stt.ToString();
        }

    }
}
